There is available a computer network system that integrates a plurality of computers connected to each other via a network so as to provide some services as one computer system. Generally, if this type of network systems has great variations in loads assigned to respective computers, which are to be nodes, then the response performance is impaired in the overall system. Therefore, technology of distributing loads between nodes is often applied to this type of systems in order to equalize the loads.
In order to distribute loads between nodes, most of conventional computer network systems detect a node having a heavy load and distribute part of the load of such a node to another node.
For example, with some computer network systems in which each of nodes is a data server, if the respective nodes have great variations in amount of data stored therein, the amount of data being stored is equalized by transferring partial data from a server having a greater amount of data stored to a server having a smaller amount of data stored. In this case, the amount of data corresponds to a load.
In another example, with some computer network systems in which each of nodes is a calculation server that provides resources for calculation, if the respective nodes have great variations in amount of calculation assigned thereto, the amount of calculation being assigned is equalized by changing assignments from a server having a greater amount of calculation assigned to a server having a smaller amount of calculation assigned. In this case, the amount of calculation assigned corresponds to a load.